//
// Created by MSI on 2022/7/31.
//

#include "timer.h"
#include "hc_sr04.h"
#include "works.h"
#include "retarget.h"

//溢出时间:Tout=((arr+1)*(psc+1))/CK_PSC(84M)
// 0.5s = (4999+1) * (8399 +1) / 84M

/**
 * 定时器3中断服务函数
 */
void TIM3_IRQHandler(void) {
    HAL_TIM_IRQHandler(&htim3);
}

/**
 * 定时器2中断服务函数
 */
void TIM2_IRQHandler(void) {
    HAL_TIM_IRQHandler(&htim2);
}


/**
 * 定时器更新中断（也叫计数溢出中断）回调函数，该函数会在HAL_TIM_IRQHandler 中被调用
 * @param htim
 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
//    printf("overflow\r\n");
    Hcsr04TimOverflowIsr(htim);

    WorkerTimOverflowIsr(htim);

}

/**
 * 定时器输入捕获中断函数，该函数会在HAL_TIM_IRQHandler 中被调用
 * @param htim
 */
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) {
    Hcsr04TimIcIsr(htim);
}